package com.kakarote.oa.service;

import com.kakarote.common.log.entity.OperationLog;
import com.kakarote.core.entity.BasePage;
import com.kakarote.core.servlet.BaseService;
import com.kakarote.oa.entity.BO.OaPrintTemplateQueryBO;
import com.kakarote.oa.entity.PO.OaExaminePrintTemplate;
import com.kakarote.oa.entity.VO.OaExaminePrintFieldVO;

/**
 * @author wwl
 * @date 2022/7/15 9:08
 */

public interface IOaExaminePrintTemplateService extends BaseService<OaExaminePrintTemplate> {

    /**
     * 分页查询打印模板列表
     *
     * @param templateBO search
     * @return data
     */
    BasePage<OaExaminePrintTemplate> queryList(OaPrintTemplateQueryBO templateBO);

    /**
     * 删除打印模板
     *
     * @param templateId templateId
     */
    public void deletePrintTemplate(Long templateId);

    /**
     * 查询字段列表
     *
     * @param templateId 审批模板id
     * @return data
     */
    OaExaminePrintFieldVO queryFields(Long templateId);

    /**
     * 打印
     *
     * @param templateId templateId
     * @param dataId     id
     * @return data
     */
    String print(Long templateId, Long dataId);

    /**
     * 预览
     *
     * @param content content
     * @param type    type
     * @return path
     */
    String preview(String content, String type);

    /**
     * 复制模板
     *
     * @param templateId templateId
     */
    OperationLog copyTemplate(Long templateId);


    Boolean updateCategoryId(Long newCategoryId, Long oldCategoryId);
}
